/*
 * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
 * or more contributor license agreements. Licensed under the Elastic License
 * 2.0; you may not use this file except in compliance with the Elastic License
 * 2.0.
 */

package org.elasticsearch.xpack.application.connector.filtering;

import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.xpack.application.connector.ConnectorTestUtils;

import static org.hamcrest.Matchers.equalTo;

public class FilteringRuleConditionTests extends ESTestCase {

    public void testFilteringRuleCondition_WithValidFilteringRuleConditionString() {
        FilteringRuleCondition ruleCondition = ConnectorTestUtils.getRandomFilteringRuleCondition();

        assertThat(FilteringRuleCondition.filteringRuleCondition(ruleCondition.toString()), equalTo(ruleCondition));
    }

    public void testFilteringRuleCondition_WithInvalidFilteringRuleConditionString_ExpectIllegalArgumentException() {
        assertThrows(
            IllegalArgumentException.class,
            () -> FilteringRuleCondition.filteringRuleCondition("invalid filtering rule condition")
        );
    }

}
